1. Field of the Invention
The invention relates to an option card installable in a computer system and, more particularly, to a multiple function interface device for coupling the option card with an expansion bus of the computer system.
2. Description of Related Art
In its most basic configuration, a personal computer (or "PC") is comprised of a main logic board which contains a central processing unit (or "CPU") and a memory subsystem coupled together by an expansion bus. The basic configuration of the PC can be augmented significantly and numerous capabilities added to the machine by the addition of various expansion modules or other I/O devices, commonly referred to as option cards, to the PC. To add such a device, the option card is inserted into a slot on the main logic board. Once inserted, the option card is coupled with the expansion bus of the PC.
The basic input output system (or "BIOS") of the disk operating system (or "DOS") for the typical PC is that portion of the operating system which provides an interface between the DOS kernel and the underlying hardware. More specifically, the DOS kernel passes commands from application software to the BIOS for translation into hardware-specific requests. During start-up of the PC, the BIOS is also responsible for initializing I/O devices installed on the expansion bus. However, certain option cards, for example, a disk array controller card, are required to operate during initialization. Accordingly, for the BIOS to implement the functions of option cards which are required to operate at initialization, such option cards require an expansion BIOS to augment or replace a portion of the main BIOS. While it is possible for the expansion BIOS to be placed on the computer system, as the number of option cards which may be installed in a PC is nearly limitless, the expansion BIOS is typically provided on the option card itself. For this reason, prior option cards have contained a discrete read only memory, hereafter referred to as an "option ROM", which contains the expansion BIOS for the option card. During the power-on, self-test (or "POST") process, the main BIOS will search the address space of the option card for the presence of option ROMs and, upon detection of such, will execute the expansion BIOS contained therein.
In addition to the information contained in the option ROM, the expansion BIOS will sometimes require "scratch-pad" random access memory (or "RAM") to implement its functions or to provide variable information to the PC. For example, if the installed option card is a disk array controller card, disk drive geometry information will vary, depending on the particular drives connected to the disk controller. Accordingly, option cards having an expansion BIOS requiring a limited amount of volatile memory further include a small RAM on the card for this particular purpose.
Finally, option cards also require a command and data interface with the expansion bus, the size of which tends to vary depending on the number of exchanges between the expansion bus and the option card to be transferred through the interface. Accordingly, option cards are typically provided with a small dual ported register file. The CPU can then place commands into the register file for execution by a local processor installed on the option card. After completing execution of the commands, the local processor can place status or results into the dual ported register file for access by the CPU.
Heretofore, option cards have been provided with separate structures for each of the option ROM, scratchpad RAM and command/data interface. It can be readily seen that it would be desirable to provide an option card which incorporates these features into a single structure. Accordingly, it is an object of the present invention to provide an option card having an interface with the expansion bus which is structured to perform multiple functions, including those associated with the expansion BIOS.